package com.youlai.boot.system.model.form;

import java.io.Serial;
import java.io.Serializable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.Length;

/**
 * 配件表单对象
 *
 * @author lwb
 * @since 2025-07-14 16:22
 */
@Getter
@Setter
@Schema(description = "配件表单对象")
public class LpsOrderPjForm implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "主键")
    private Long id;

    @Schema(description = "莱普森订单id")
    private Long orderId;

    @Schema(description = "采购订单")
    @Length(max=64, message="采购订单长度不能超过64个字符")
    private String cgdd;

    @Schema(description = "PO行项目")
    @Length(max=64, message="PO行项目长度不能超过64个字符")
    private String poxxm;

    @Schema(description = "销售订单")
    @Length(max=64, message="销售订单长度不能超过64个字符")
    private String xsdd;

    @Schema(description = "SO行项目")
    @Length(max=64, message="SO行项目长度不能超过64个字符")
    private String soxxm;

    @Schema(description = "物料")
    @Length(max=64, message="物料长度不能超过64个字符")
    private String wl;

    @Schema(description = "描述")
    @Length(max=64, message="描述长度不能超过64个字符")
    private String ms;

    @Schema(description = "图号/版本")
    @Length(max=64, message="图号/版本长度不能超过64个字符")
    private String thbb;

    @Schema(description = "子件")
    @Length(max=64, message="子件长度不能超过64个字符")
    private String zj;

    @Schema(description = "数量")
    @Length(max=64, message="数量长度不能超过64个字符")
    private String sl;

    @Schema(description = "交货日期")
    @Length(max=64, message="交货日期长度不能超过64个字符")
    private String jhrq;

    @Schema(description = "库存地")
    private String kcd;

    @Schema(description = "仓位1")
    private String cw1;

    @Schema(description = "安装所在国家或地区")
    private String azszgjhdq;

    @Schema(description = "KZU")
    @Length(max=64, message="KZU长度不能超过64个字符")
    private String kzu;

    @Schema(description = "BKS")
    @Length(max=64, message="BKS长度不能超过64个字符")
    private String bks;

    @Schema(description = "触动机构长度")
    @Length(max=64, message="触动机构长度长度不能超过64个字符")
    private String cdjgzd;

    @Schema(description = "ELEVATOR_SYSTEM")
    @Length(max=64, message="ELEVATOR_SYSTEM长度不能超过64个字符")
    private String elevatorSystem;

    @Schema(description = "CAR_SLING_VARIANT")
    @Length(max=64, message="CAR_SLING_VARIANT长度不能超过64个字符")
    private String carSlingVariant;

    @Schema(description = "CAR_SAFETY_GEAR_TYPE")
    @Length(max=64, message="CAR_SAFETY_GEAR_TYPE长度不能超过64个字符")
    private String carSafetyGearType;

    @Schema(description = "起重管长度")
    @Length(max=64, message="起重管长度长度不能超过64个字符")
    private String qzgzd;

    @Schema(description = "备注")
    @Length(max=65535, message="备注长度不能超过65535个字符")
    private String bz;

    @Schema(description = "创建时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @Schema(description = "创建人ID")
    private Long createBy;

    @Schema(description = "更新时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    @Schema(description = "修改人ID")
    private Long updateBy;


}
